使用 xpath 选择元素 您所在的位置:网站首页 xpath 选择最后一个 使用 xpath 选择元素

使用 xpath 选择元素

2023-08-09 02:09| 来源: 网络整理| 查看: 265

前面学习了 CSS 选择元素的方法,用起来十分灵活。

但有时候使用 xpath 更加方便,爬虫 Scrapy 和 Appium APP 自动化都支持 Xpath 元素选择。

学习的时候可以参考这个简单的页面:https://git-jhy.github.io/snake,右键检查,在 Elements 中 Ctrl+F 可以搜索元素

1. 路径

绝对路径

/ 可以表示根节点,也可以用在标签后表示直接子节点的关系,类似 CSS 中的 >

如 /html 和 /html/body/div,后者等价于 html>body>html,通过 xpath 查找元素方法如下:

elements = driver.find_elements_by_xpath("/html/body/div")

相对路径

使用 // 表示相对路径,它表示从当前节点向后查找元素,不管出现在什么位置:

elements = driver.find_elements_by_xpath("//div//li")

它等价于 CSS 选择器 div li

同理,//div/li 等价于 div > li

通配符

使用 * 选择所有元素,如:

elements = driver.find_elements_by_xpath("//div/ul/li") for element in elements: print(element.get_attribute('outerHTML')) 2. 属性选择

语法格式:

[@attributeName='attributeValue']

ID 属性

选择 ID 为 fruits 的元素:

//*[@id='fruits']

class 属性

选择 class 为 green 的元素

//*[@class='green']

选择 class 为 like tomato 的元素(所有 class 都要列写出来)

//*[@class='like tomato']

contains

选择 class 包含 tomato 属性的元素

//*[contains(@class, 'tomato')]

选择 style 包含 color 字符串的元素

//*[contains(@style, 'color')]

选择 style 属性值以 color 开头的元素(结束使用 ends-with)

//*[starts-with(@style, 'color')] 3. 次序选择

第 k 个子元素

选择满足条件的第二个子元素:

//div[@id='fruits']//ul//li[2]

此时在 页面 选中的是第二个水果

倒数第 k 个子元素

选择最后一个、倒数第 2 个 li 标签:

//li[last()] //li[last()-1]

范围选择

选择前 3 个 li 元素

//li[position()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有